package br.com.news.web;

import java.io.Serializable;
import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.news.utils.database.beans.UsuarioBean;
import br.com.news.utils.database.beans.enums.Perfil;
import br.com.news.web.annotations.Permission;
import br.com.news.web.service.CadastroService;

@Permission(profile={})
@ManagedBean
@ViewScoped
public class CadastroMB extends BaseMB implements Serializable{
	
	public static final String ROUTE = "cadastro.xhtml";

	private static final long serialVersionUID = 1L;

	private UsuarioBean usuario;
	
	private String validaSenha;
	
	private Date dataNascimento;
	
	public CadastroMB() {
		usuario = new UsuarioBean();
		usuario.setSexo('1');
	}
	
	public void salvar() {
		
		if (usuario.getSenha().equals("") || usuario.getSenha().length() < 6) {
			addErrorMessage("Senha com minimo de 6 caracteres exigido!");
			return;
		}
		if (usuario.getNome().equals("")) {
			addErrorMessage("Favor preencher o campo nome!");
			return;
		}
		if (!usuario.getSenha().equals(validaSenha)) {
			addErrorMessage("Senhas não conferem!");
            return;
		} else if (usuario.getLogin().equals("")) {
			addErrorMessage("Login obrigatório!");
			return;
		} else {
			CadastroService cadastro = new CadastroService();
			usuario.setStatus(true);
			usuario.setPerfil(Perfil.USUARIO);
			usuario.setDataNasc(dataNascimento);
			
			cadastro.save(usuario);
			
			addInfoMessage("Cadastro realizado com sucesso!");
		}
		
	}

	public UsuarioBean getUsuario() {
		return usuario;
	}

	public void setUsuario(UsuarioBean usuario) {
		this.usuario = usuario;
	}

	public String getValidaSenha() {
		return validaSenha;
	}

	public void setValidaSenha(String validaSenha) {
		this.validaSenha = validaSenha;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
	
}
